package com.hyt.it.ogt.kq.service.gov.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hyt.it.ogt.kq.service.gov.model.entity.TaskConfig;

import java.util.List;

/**
 * <p>
 * 考试任务配置表 Mapper 接口
 * </p>
 *
 * @author huangyh
 * @since 2021-03-08
 */
public interface TaskConfigMapper extends BaseMapper<TaskConfig> {

    /**
     * 批量更新-code
     * @param taskConfigList
     */
    void updateByCode(List<TaskConfig> taskConfigList);

    /**
     * 任务参数表初始化
     * @param taskId
     * @param officeId
     */
    void initTaskConfig(String taskId,String officeId);

    /**
     * 根据考试任务编号获取考试系统类型
     * @param taskCode 考试任务编号
     * @param examSystemTypeCode 考试系统大类code
     * @return 考试系统类型
     */
    String getExamSystemTypeByTaskCode(String taskCode, String examSystemTypeCode);

    /**
     * 根据考试任务编号获取考试系统版本号
     * @param taskCode 考试任务编号
     * @param examVersionCode 考试系统版本号code
     * @return 考试系统版本号
     */
    String getExamSystemVersionByTaskCode(String taskCode, String examVersionCode);

    /**
     * 复制任务配置数据
     * @param newId 新的任务id
     * @param oldId 被复制的任务id
     * @param userName 用户名称
     */
    void copyTaskConfig(String newId, String oldId, String userName);

    /**
     * 根据考试任务编号、配置参数code获取考试任务配置值
     * @param taskCode 考试任务编号
     * @param code 配置参数code
     * @return 考试任务配置值
     */
    String getValueByTaskCode(String taskCode, String code);

    /**
     * 根据考试任务编号获取考试任务配置（仅code和value）
     * @param taskCode 考试任务编号
     * @return 考试任务配置
     */
    List<TaskConfig> listByTaskCode(String taskCode);

}
